﻿module Mock

/// Creates a new Mock
let create<'a when 'a : not struct> = new Moq.Mock<'a>()

/// Creates a new Mock with Strict behavior (i.e. ALL of the mock's properties and methods used in the test must be mocked).
let creates<'a when 'a : not struct> = new Moq.Mock<'a>(Moq.MockBehavior.Strict)

/// Initializes a mock into an instance of an object.
let init<'a when 'a : not struct> (mock:Moq.Mock<'a>) = mock.Object